Stepper motors can be inherently noisy due to vibrations generated by the discrete stepping sequence. Known controllers which are designed for an open loop operation are simple and low cost. However, the stepper motor has to be over-dimensioned and over-powered to prevent any step loss. One consequence of the limited control (lacking knowledge of the actual motor dynamics) is a high level of torque pulsations which transform into noise. Furthermore, high input power results in high heat dissipation.
Other known controllers are based on a sensorless commutation, in which the drive lines are probed for the back electromotive force (“back-emf”) and in which it is attempted to derive the rotor position and to adapt the commutation sequence accordingly. Such type of commutation is convenient because no external position sensing of the rotor is required. However, it's only stable within a limited range of operating conditions and it becomes critical at quickly varying loads (which arise for example for movements towards an end stop). Furthermore, such controllers require microprocessing for timing and generating sinusoidal current wave forms. Another problem is at motor standstill, where there is no back-emf; the position of the rotor is unknown and the starting procedure is performed essentially in an open loop mode.
In brushless DC motors digital Hall sensors for detection of the rotor position are used. The position information is discrete, not continuous. A decent amount of microprocessing and logic is required to approach a smoothly rotating magnetic field. However, digital electronics are prone to digital failure due to coding errors, ill-defined conditions, electromagnetic interference or high temperatures. Estimator algorithms are often unable to reliably predict position and speed at quickly varying conditions, i.e. motor blocking or spontaneous direction reversal. At low or zero speed the position and speed estimates become inaccurate.
Thus there is a need for a simplified controller which allows the driving of a stepper motor with reduced vibrations and in a reliable and robust manner, in particular when starting the stepper motor.